import java.util.ArrayList;
import java.util.List;

/**
 * Creat with IntelliJ IDEA
 * Description:找到小镇的法官
 * 建立一个List，index对应小镇的每一个人，List中存放该人的信任值：被别人信任， 则信任值+1，信任别人，则信任值-1
 * 所有人都信任法官，法官不信任任何人，所以法官的信任值为n-1
 * 普通人没有被所有人信任，信任<n-1
 * 或普通人也被其他人信任，但是它信任别人，不是法官，信任值<n-1
 * User:WZW
 * Date:2021-12-04
 * Time:15:26
 */

class Solution2 {
    public int findJudge(int n, int[][] trust) {
        if(n==1 && trust.length==0 ){//小镇只有一个人，并且它不信任任何人
            return 1;
        }
        List<Integer> people = new ArrayList<>();
        for (int i = 0; i <= n; i++) {
            people.add(0);
        }
        for (int i = 0; i < trust.length; i++) {
            people.set(trust[i][0],people.get(trust[i][0])-1);//信任别人，信任值-1
            people.set(trust[i][1],people.get(trust[i][1])+1);//被别人信任，信任值+1
        }
        for (int i:people) {
            if (i==n-1){
                return people.indexOf(i);
            }
        }
        return -1;
    }
}
public class homework_2021_12_4_Ledcode1 {
    public static void main(String[] args) {
        Solution2 p = new Solution2();
        int[][] trust = new int[][]{{1,2}};
        System.out.println(p.findJudge(2, trust));
    }
}
